Copyright(C) 1994,1995,1996,1997 Terumasa KODAKA , Takeshi KONO ■I/O used by CPU Target 80286 equipped models, V33A equipped models (PC-98DO+), V50, V50HL equipped models Explanation o The 80286 uses I/O 00F8 to 00FCh for communication with the numerical coprocessor. Therefore, users cannot use I/O addresses in this range. o V33A has a register inside the CPU for extended mode that allows up to 16MB of address space to be used. Users should not manipulate this I/O. o V50 and V50HL incorporate several peripheral chips inside the CPU. Therefore, in addition to I/O addresses to control these, there are also registers to perform various configurations of these peripheral circuits. Users should not manipulate this I/O. I/O 00F8~00FCh(WORD) Name NPX(80287) for communication (intel RESERVE) Target 80286 CPU equipped machine Chip 80287 Function ------------+-------+----------------------------------------- I/O address | Width | Content ------------+-------+----------------------------------------- 00F8h | WORD | CPU←→NPX communication 00FAh | WORD | CPU←→For NPX communication 00FCh | WORD | CPU←→NPX communication 00FEh | WORD | Reserve ------------+-------+----------------------------------------- Description o The 80286 CPU uses I/O 00F8 to 00FDh for communication with the math coprocessor 80287. This range of I/O cannot be used by other peripheral devices. o The 80386 CPU uses I/O 800000F8h (32bit) and I/O 800000FCh (32bit) for communication with the numerical calculation coprocessor 80387. Note that this I/O address is exclusive to the coprocessor. I/O FF00~FF7Eh(WORD),FF80h(BYTE) Name V33A Internal I/O register for address expansion control Target V33A equipped machine (PC-98DO+) Chip V33A(μPD70136A) Function ------------+-------+-----+----------------------------------------------- I/O address | Width | R/W | Content ------------+-------+-----+----------------------------------------------- FF00~FF7Eh | WORD | R/W | PGR1~PGR64 (page register) FF80h | BYTE | R | bit 0: XAM (extended address mode register) | | | 1=Extended address mode (XA mode) | | | 0=Normal address mode (NA mode) ------------+-------+-----+----------------------------------------------- Description o Register to control the address space expansion function of the V33A CPU. I/O FF00~FFFFh(BYTE) Name V50,V50HL system I/O area Applicable machines equipped with V50 and V50HL Chip V50(μPD70216),V50HL(μPD70216H) Function ------------+-------+-----+----------------------------------------------- I/O address | Width | R/W | Content ------------+-------+-----+----------------------------------------------- FF00~FFDFh | BYTE | | Reservation FFE0h | BYTE | R/W | Bank selection register *1 FFE1h | BYTE | R/W | Bank address register *1 FFE2~FFE8h | BYTE | | Reservation FFE9h | BYTE | R/W | Baud rate counter *1 FFEah | BYTE | R/W | Programmable wait cycle number setting register 3 *1 FFEBh | BYTE | R/W | Wait I/O block setting register *1 FFECh | BYTE | R/W | Wait sub memory block setting register *1 FFEDh | BYTE | R/W | Extended wait block selection register *1 FFEE~FFEFh | BYTE | | Reservation FFF0h | BYTE | R/W | Timer clock selection register FFF1h | BYTE | R/W | Standby control register *1 FFF2h | BYTE | R/W | Refresh control register FFF3h | BYTE | | Reservation FFF4h | BYTE | R/W | Programmable wait memory area setting register FFF5h | BYTE | R/W | Programmable wait cycle number setting register 1 FFF6h | BYTE | R/W | Programmable wait cycle number setting register 2 FFF7h | BYTE | R/W | System control register *1 FFF8h | BYTE | R/W | SCU row address register FFF9h | BYTE | R/W | TCU row address register FFFAh | BYTE | R/W | ICU row address register FFFBh | BYTE | R/W | DMAU row address register FFFCh | BYTE | R/W | On-chip peripheral high address register FFFDh | BYTE | R/W | On-chip peripheral selection register FFFEh | BYTE | R/W | On-chip peripheral connection register FFFFh | BYTE | | Reservation ------------+-------+-----+----------------------------------------------- *1: Reserved for V50 (μPD70216) Description o V50,V50HL Registers for controlling CPU built-in peripherals. ■I/O used by CPU peripherals Explanation o For machines equipped with a CPU of 80286 or higher, use the I/O port to reset the CPU. In addition to resetting the CPU, operations such as enabling the A20 line to access memory space of 1MB or more are also performed using the I/O port. ------------------------------------------------------------------------------- I/O 00F0h Name Machine status read/CPU shutdown Target Machines equipped with a CPU of 80286 or higher (ITF equipped machines) Function [READ] Read machine status bit 7: Sister machine determination■[PC-9801NA,NA/C] 1=PC-9801NA 0=PC-9801NA/C bit 7: Sister machine determination■[PC-9821modelS1,S2] 1=PC-9821modelS1 0=PC-9821modelS2 bit 7: Sister machine determination■[PC-9821CemodelS1,S2] 1=PC-9821CemodelS1 0=PC-9821CemodelS2 bit 7: Sister machine determination■[PC-9821Xt・Xa] 1=PC-9821Xt 0=PC-9821Xa bit 7: CPU speed judgment■[PC-9821Ap・As・Ae・Af] 1=CPU MODE is High/Low 0=CPU MODE is Middle bit 6: ODP socket status■[PC-9821Ts] 1=With ODP 0=no ODP bit 6: Internal type (SCSI) HDD status ■[PC-9801RA21・RS・DA・DS・DX・ES・FA・FS・FX PC-9821 first generation・Ap・As・Ae・Ce・Af・Ap2・As2・An・Ap3・As3] 1= No internal 55 type HDD 0= Built-in 55 type HDD included bit 5: Internal type (SASI, IDE) HDD status ■[PC-9801RA21・RS・DA・DS・DX・ES・EX,PC-98DO+ 98NOTE,PC-9821,PC-9801BA・BX・BA2・BS2・BX2・BA3・BX3・BX4] 1= No built-in 27 type HDD 0= Built-in 27 types HDD included bit 4: Unknown bit 3: Internal additional RAM access 1=Standard internal or expansion slot memory 0= Internal additional memory * Indicates whether the previous RAM access was to internal additional RAM. bit 2: Refresh mode 1=normal refresh 0=fast refresh bit 1: CPU mode 1=V30 0=80286/80386 * Indicates the value set in I/O 00F0h bit 0. bit 0: Internal RAM/expansion slot RAM determination 1=internal memory 0=Expansion slot memory * Indicates whether the previous RAM access was to internal RAM. [WRITE] CPU shutdown bit 7~3: unused bit 2: Refresh mode selection? 1= Normal refresh (when V30 is selected) 0=Fast refresh (when 80286/80386 is selected) bit 1: unknown 1=When selecting V30 0=When selecting 80286/386 bit 0: CPU mode selection 1=V30 selection 0=80286/386 selection * You can switch between 80286 (386) and V30 depending on the output value. At that time, the reset terminal of the CPU (NDP) becomes active and A20 becomes masked. The value set here is read from I/O 00F0h bit 1. Related 0000:0596h bit 0 I/O 00F0h I/O 00F1h Name IDE port F/F reset Undocumented Target PC-9821Xa10・Xa9・Xa7・Xe10,PC-9801BX4 Function [READ] None [WRITE] bit 7~0: arbitrary Opening o A model that can connect IDE devices as master/slave to two IDE ports, primary and secondary, and is used to check whether a device is connected to each IDE port. o When I/O 00F0h is read twice in succession after writing any value to this port, the primary IDE information will be the same in the first read and the secondary IDE information will be the same in the second read from bit 5. Can be obtained. Related I/O 00F0h bit 5 I/O 00F2h Name CPU A20 Unmasked Target Machines with CPU 80286 or higher Function [READ] bit 7~2: unused bit 1: unknown bit 0: A20 status■[Excluding H98] 1=A20 mask status 0=A20 unmasked state [WRITE] CPU A20 unmasking Explanation o When an arbitrary value is output, the mask of the CPU's address bus A20 is released. To mask A20, output to 00F6h or 00F0h. Related I/O 8B1Eh bit 6 I/O 00F4h Name DMA mode selection Undocumented Target PC-9801DA or later Function [READ] Unknown [WRITE] bit 7~0: DMA speed setting 00000100b= DMA speed compatible 00000101b= DMA speed fast Explanation o Select the DMA controller clock Related I/O 861Eh bit 4 I/O 00F6h Name A20 line control Applicable To machines equipped with 386 or higher CPUs Function [READ] bit 7,6: unknown bit 5: unknown bit 4: Built-in HDD DMAch setting■[Excluding PC-98RL] 1=ch0 0=ch1 Related I/O: 7FDBh bit 4■[PC-98RL] bit 3: unknown bit 2: unknown bit 1: NMI prohibition/permission status■[Excluding PC-H98] 1=allowed 0=prohibited bit 0: A20 mask status 1=A20 is masked 0=A20 is not masked [WRITE] bit 7~0: Various settings 00000001b= Unknown■[PC-9801NA] 0000001nb= Mask control of CPU address bus A20 ■ [386 machines after XL^2] 0(02h)= A20 unmasked 1(03h) = A20 mask setting * The operation of OUT F6h,02h and OUT F2h,XXh is the same. 0n000100b= DMA channel specification used by built-in SCSI I/F slot 1(44h) = SCSI I/F slot uses DMA #1 0(04h) = SCSI I/F slot uses DMA #0 *Write system setup menu settings 0000010nb= Unknown 1n100000b= 8x1Eh Software dip switch switching 1(E0h)= DIP switch table bank specification 0(A0h)= DIP switch back bank designation * The software dip switches for I/O 841E to 8F1Eh are assigned to each I/O address, with two sets of back and front. The method for selecting the front and back varies depending on the model, but some models use I/O 00F6h - A0h, E0h to select. Explanation The A20 line cannot be turned ON/OFF using the method described in the technical data book. Related 0000:0484h bit 7,6 I/O 00F0h I/O 00F2h I/O 861Eh bit 2 I/O 841E~8F1Eh (front, back) I/O 0431h Name Power supply, LED control, etc. Undocumented Target PC-H98 Function [READ] bit 7: Power OFF prohibited state 1= Power off prohibited 0= Power off allowed bit 6~0: unknown [WRITE] bit 7,3: Power control 11b= Force power off 10b= Prohibit power OFF using power switch 0xb= Power OFF permission by power switch bit 6~4: unknown bit 2: Main unit HDD access LED control 1= lit 0=off bit 1: unknown bit 0: Main unit power LED control 1= lit 0=off Description Controls the power supply and main body LED. Related INT 1Fh - Function 98h I/O 0534h Name Unknown Undocumented Target PC-9821Ap2・As2・Bp・Bs・Be・Bf・Cs2・Ce2・Ts,PC-9801BA2・BS2・BX2・BA3・BX3・BX4 Function [READ/WRITE] bit 7: CPU external clock■[PC-9821Bp・Bs・Be・Cs2・Ce2] 1=33MHz 0=25MHz bit 6~4: unused bit 3: unknown bit 2: Text VRAM wait? 1=no wait 0=Insert wait bit 1: unknown bit 0: MIDDLE,LOW mode flag 1=MIDDLE,LOW mode 0=HIGH mode Explanation Details unknown I/O 9892h Name CPU wait adjustment Undocumented Target PC-9801DA・DS・DX・FA・FS・FX・BA・BX・BA2・BS2・BX2・BA3・BX3 98NOTE (Excluding PC-9801N・NV・NL,PC-9821Np・Ns・Ne2・Nd・Es・Ld・Lt・Nf・Nm) PC-H98, PC-9821 Function [READ/WRITE] bit 7~4: unused bit 3~0: CPU wait value (lower 4 bits) Explanation o Set the CPU operating speed in 128 steps. Maximum speed is 0000000b. o Disabled when I/O 9894h bit 3 is 0. Related I/O 9894h bit 3 I/O 9894h bit 2~0 I/O 9894h Name CPU wait adjustment Undocumented Target PC-9801DA・DS・DX・FA・FS・FX・BA・BX・BA2・BS2・BX2・BA3・BX3 98NOTE (Excluding PC-9801N・NV・NL,PC-9821Np・Ns・Ne2・Nd・Es・Ld・Lt・Nf・Nm) PC-H98, PC-9821 Function [READ/WRITE] bit 7~4: unused bit 3: CPU wait enabled 1= insert wait 0=do not insert waits bit 2~0: CPU wait value (upper 3 bits) Explanation o Set the CPU operating speed in 128 steps. Maximum speed is 0000000b. o Invalid when bit 3 is 0. Related I/O 9892h bit 4~0 I/O 00F0h bit 0 I/O 9896h Name CPU cache control Undocumented Target PC-H98 Function [READ] Unknown [WRITE] bit 7~0: Cache control 00h=cache enabled 04h=Cache enabled Description o Control the cache. o Details unknown